//
//  GLBaseAnimatedTransition.h
//  HGLAnimation
//
//  Created by huang long on 17/1/18.
//  Copyright © 2017年 huang gu long. All rights reserved.
//

#import <UIKit/UIKit.h>

typedef enum : NSUInteger {
    GLAnimatedTransitionTypePresent,
    GLAnimatedTransitionTypeDismiss,
    GLAnimatedTransitionTypePush,
    GLAnimatedTransitionTypePop
} GLAnimatedTransitionType;

@interface GLBaseAnimatedTransition : NSObject<UIViewControllerAnimatedTransitioning>

@property(nonatomic , assign , readonly)GLAnimatedTransitionType transitionType;

@property(nonatomic , assign)NSTimeInterval duration;

- (instancetype)initWithTransitionType:(GLAnimatedTransitionType)transitionType;

+ (instancetype)transitionWithTransitionType:(GLAnimatedTransitionType)transitionType;

//@override
//弹出窗口
- (void)presentAnimateTransition:(id<UIViewControllerContextTransitioning>)transitionContext;
//窗口消失
- (void)dismissAnimateTransition:(id<UIViewControllerContextTransitioning>)transitionContext;

- (void)pushAnimateTransition:(id<UIViewControllerContextTransitioning>)transitionContext;

- (void)popAnimateTransition:(id<UIViewControllerContextTransitioning>)transitionContext;

@end
